<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one or more
  ~ contributor license agreements.  See the NOTICE file distributed with
  ~ this work for additional information regarding copyright ownership.
  ~ The ASF licenses this file to You under the Apache License, Version 2.0
  ~ (the "License"); you may not use this file except in compliance with
  ~ the License.  You may obtain a copy of the License at
  ~
  ~    http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  ~
  -->
<div fxFlex="100" fxLayout="column">
    <div fxFlex="100" fxLayout="row" fxLayoutAlign="start center">
        <h5 style="margin-right: 10px">
            {{ selectedElement.inputStreams[0].name }}
        </h5>
        <button
            mat-button
            mat-raised-button
            color="accent"
            class="small-button"
            (click)="selectAll(collectedPropertiesFirstStream)"
            style="margin-right: 10px; margin-left: 10px"
            [disabled]="restrictedEditMode"
        >
            Select all
        </button>
        <button
            mat-button
            mat-raised-button
            class="mat-basic small-button"
            (click)="deselectAll(collectedPropertiesFirstStream)"
            [disabled]="restrictedEditMode"
        >
            Select none
        </button>
    </div>
    <div *ngFor="let property of collectedPropertiesFirstStream; let i = index">
        <sp-property-selection
            (validateForm)="checkFormValidity()"
            [outputStrategy]="outputStrategy"
            [eventProperty]="property"
            [layer]="0"
            [restrictedEditMode]="restrictedEditMode"
        ></sp-property-selection>
    </div>
    <div
        fxLayout="column"
        fxFlex="100"
        class="mt-10"
        *ngIf="collectedPropertiesSecondStream.length > 0"
    >
        <div fxFlex="100" fxLayout="row" fxLayoutAlign="start center">
            <h5 style="margin-right: 10px">
                {{ selectedElement.inputStreams[1].name }}
            </h5>
            <button
                mat-button
                mat-raised-button
                color="accent"
                class="small-button"
                (click)="selectAll(collectedPropertiesSecondStream)"
                style="margin-right: 10px; margin-left: 10px"
                [disabled]="restrictedEditMode"
            >
                Select all
            </button>
            <button
                mat-button
                mat-raised-button
                class="mat-basic small-button"
                (click)="deselectAll(collectedPropertiesSecondStream)"
                [disabled]="restrictedEditMode"
            >
                Select none
            </button>
        </div>
        <div
            *ngFor="
                let property of collectedPropertiesSecondStream;
                let i = index
            "
        >
            <sp-property-selection
                [outputStrategy]="outputStrategy"
                [eventProperty]="property"
                [layer]="0"
                [restrictedEditMode]="restrictedEditMode"
            ></sp-property-selection>
        </div>
    </div>
</div>
